چطور اطلاعات اکسل را در قالب تصویر ذخیره کنیم ؟
سلام به سافت پلاس خوش آمدید . امروز بعد از مدت ها می خواهیم با هم در زمینه آموزش برنامه نویسی VBA در اکسل راجع به ذخیره اطلاعات بصورت تصویر صحبت کنیم .
فرض کنید که در داخل اکسل یک سری اطلاعات تهیه کرده اید . حالا می خواهید از همین اطلاعات در قالب یک تصویر در داخل دیگر نرم افزار ها مثل نرم افزار مثل نرم افزار WORD یا POWER POINT استفاده کنید .
در حالت معمول برای اینکه بتوانیم این اطلاعات را در قالب تصویر ذخیره کنیم اکسل چند تا راهکار را در اختیار ما قرار می دهد که راجع به این راهکارها در فیلم زیر بصورت کامل توضیح داده ام .
اما امروز می خواهیم همین کار را با استفاده از برنامه نویسی و کدهای وی بی ای در اکسل به سرانجام برسانیم . در واقع می خواهیم این قضیه را بهانه ای قرار دهیم تا به کمک آن بتوانیم مهارت خود را در برنامه نویسی وی بی ای در اکسل بالا ببریم .
پس از شما می خواهم تا انتهای این آموزش من را همراهی کنید .
مراحل ذخیره اطلاعات بصورت تصویر
برای این کار باید چند تا مرحله را با هم پشت سر بگذاریم . بیایید همه چیز را طبق یک مثال عملی با هم پیش ببریم .
برای شروع کار این تصویر را مشاهده کنید .
حالا فرض کنید که می خواهیم همین محدوده از اطلاعات را برای خودمان در قالب یک تصویر در آورده و آن را ذخیره کنیم . البته که می خواهیم برای این کار از کدها و برنامه نویسی VBA در اکسل کمک بگیریم .
پس بیایید با هم کار خودمان را شروع کنیم .
آماده سازی مراحل کار برای ذخیره اطلاعات بصورت تصویر
اول از همه با استفاده از دکمه های ALT+F11 .ارد محیط VBE می شویم .
حالا از طریق منوی Insert گزینه Module را انتخاب می کنیم . با این کار اکسل یک ماژول را در اختیار ما قرار می دهد
حالا در داخل این ماژول به این صورت شروع به کد نویسی می کنیم .
Sub save_as_picture()
End Sub
اینجا ما یک روال از نوع ساب ایجاد کرده و اسم آن را هم save_as_picture انتخاب کرده ایم . حالا در داخل این ساب کدهای مورد نظرمان را درج می کنیم .
من برای اینکه بهتر متوجه کاری شویم که هر خط از کد قرار است برایمان انجام بدهد خط به خط شروع به درج کدها کرده و کاری که هر خط از کد انجام می دهد را توضیح می دهم .
برای شروع کدهای زیر را در نظر بگیرید .
Dim i As Integer
Dim intCount AsInteger
Dim myPic As Shape
Dim myChart As Chart
در اینجا ما 4 تا متغیر تعریف کردیم . متغیر اول و دوم از نوع integer متغیر سوم از نوع shape و متغیر آخر هم از نوع chart است . در طول کد نویسی قرار است از این متغیر ها استفاده کنیم .
کپی کردن محدوده مورد نظر
در اولین قدم به سراغ کدهایی می رویم که با استفاده از آنها ، از محدوده اطلاعات مورد نظرمان یک کپی تهیه می کنیم .
برای این کار از کدهای زیر استفاده می کنیم .
Dim i As Integer
Dim intCount AsInteger
Dim myPic As Shape
Dim myChart As Chart
Call Sheet1.Range("A1:D11").CopyPicture(xlScreen, xlPicture)
برای این کار کدهای موجود در خط شماره 9 را به روال خودمان اضافه کردیم . اما بیایید یک نگاهی به این خط از کد بیندازیم .
ما اینجا از دستوری استفاده کردیم که شکل کلی و استاندارد آن بصورت زیر است .
Range.CopyPicture
مطلب مرتبط: چطوری یک نمودار سه بعدی زیبا در اکسل بسازیم ؟
این دستور خیلی ساده است و کاری را هم که انجام می دهد از اسم آن کاملا پیداست . یعنی این دستور می آید از یک Range یا یک محدوده که به آن معرفی می شود یک کپی در قالب عکس تهیه می کند .
این دستور دو تا ورودی دارد که کدهای بالا مشاده می کنید . هر دوی این ورودی ها کاملا حالت اختیاری دارند و اگر آنها را وارد هم نکنید اکسل از شما خطایی نخواهد گرفت .
اگر می خواهید اطلاعات بیشتری از این دستور و یا بهتر است بگویم متد در برنامه نویسی VBA بدست بیاورید می توانید به سایت مایکروسافت مراجعه کنید .
پس تا به اینجا ما موفق شدیم که یک کپی از محدوده اطلاعات مورد نظرمان تهیه کنیم . حالا برویم به سراغ مرحله بعد از کار ذخیره اطلاعات بصورت تصویر.
حالا یک نمودار اضافه کنیم
در این مرحله به سراغ شیت شماره 2 می رویم . حالا در این شیت یک نمودار جدید را برای خودمان ایجاد می کنیم . البته برای این کار باید از کدهای زیر استفاده کنیم .
Sheet2.Shapes.AddChart
این خط از کد خیلی ساده است . در این خط ما از اکسل می خواهیم که از مجموعه اشیا یک چارت یا همان نمودار را به شیت شماره 2 ما اضافه کند .
البته این نمودار یک نمودار خالی خواهد بود . ولی در ادامه از همین نمودار خالی می خواهیم استفاده کنیم .
می پرسید چه استفاده ای ؟ با من همراه باشید تا در مورد آن بیشتر با هم صحبت کنیم .
حالا اطلاعات را جایگذاری کنید .
تا به اینجای کار ما دو تا چیز داریم .
اولی اطلاعاتی است که توسط کدهای وی بی ای از آنها یک کپی تهیه کرده ایم .
دومی هم یک نمودار خالی در شیت شماره 2 است که اتفاقا این نمودار خالی را هم به کمک کدهای وی بی ای ایجادش کرده ایم .
حالا در ادامه کار می خواهیم چکار کنیم ؟
خیلی ساده است . می خواهیم اطلاعات محدوده مورد نظرمان را که کپی گرفته ایم را در داخل نمودار خالی خودمان Paste کنیم .
دوباره می پرسید چطور ؟ باز هم من را همراهی کنید تا توضیح بدهم .
برای این کار اول کدهای زیر را در نظر بگیرید .
Sheet2.Activate
Sheet2.Shapes.Item(1).Select
Set mychart = ActiveChart
objChart.Paste
حالا برویم یک نگاهی به کدهای بالا بیندازیم و ببینیم که هر خط از کدها چه کاری را انجام می دهد .
در خط شماره 1 از برنامه می خواهیم که شیت ششماره 2 را برای ما فعال کند .
خط شماره 3 به سراغ مجموعه اشکال موجود در این شیت می رود و از بین آنها آیتم شماره 1 را به حالت انتخاب در می آورد .
در مثال مورد نظر ما تنها شی موجود در شیت شماره 2 یک نمودار خالی است .
اگر خاطرتان باشد در قسمت تعریف متغیرها ما یک متغیر تعریف کردیم به اسم mychart phgh در خط شماره 5 از برنامه می خواهیم که همین متغیر را برابر با چارت فعال در این شیت یعنی شیت 2 قرار دهد .
در خط شماره 5 هم از برنامه می خواهیم که هر چیزی را که در حافظه خود کپی کرده است در داخل این چارت برای ما جایگذاری کند .
اینجا ما در خطوط بالایی از برنامه خواستیم که هر اطلاعاتی را که در محدوده سلول های A1:D11 را در داخل حافظه کامپیوترمان ذخیره کند .
حالا همین اطلاعات در داخل چارت ما Paste می شود .
خوب حالا ما یک چارت داریم که به جای ستونها فقط حاوی اطلاعات است . حالا می خواهیم چکار کنیم ؟
می خواهیم این چارت را در قالب یک عکس در مسیر مورد نظر خودمان ذخیره کنیم .
برای این کار هم قاعدتا باید از برنامه نویسی و کدهای VBA در اکسل استفاده کنیم . پس به سراغ این کدها می رویم .
ذخیره نمودار در قالب یک عکس .
فرض کنید که می خواهیم نمودار خودمان را در داخل درایو D از کامپیوترمان ذخیره کنیم . البته که باید برایش یک اسم هم در نظر بگیریم .
من اسم فایل مورد نظر خودم را که همان عکس نمودارمان است را “my_softpluse_pic” تعریف می کنم .
حالا با در نظر گرفتن همین دو تا نکته به سراغ آخرین خط از کدمان می رویم .
فرمت مورد نظر برای تصویر هم فرمت .jpeg خواهد بود .
این خط از کد به قرار زیر است .
mychart.Export ("D:my_softpluse_pice.Jpeg")
خوب این کدها را نوشتیم . حالا کافی است که این کدها را اجرا کرده و خودتان نتیجه و خروجی کار را مشاهده کنید .
امیدوارم که این آموزش هم برایتان مفید واقع شده باشد .
برای دانلود نمونه فایل این آموزش هم می توانید از کادر زیر اقدام نمایید .
برای مشاهده لینک دانلود لطفا وارد حساب کاربری خود شوید!
وارد شویدپسورد فایل : گزارش خرابی لینک
مطالب زیر را حتما مطالعه کنید
چطور زبان ورود اطلاعات در اکسس را کنترل کنیم ؟
با رعایت این نکات تبدیل به یک برنامه نویس حرفه ای در اکسل شوید .
۷ نکته مهم در برنامه نویسی VBA که باید آنها را بدانید
ماکرو نویسی در اکسل |ببینید که ماکروها چقدر کاربردی اند.
زبان وی بی ای مرده است
۱۰ کاری که بدون برنامه نویسی VBA قادر به انجامش نبودید .
توی این آموزش کارهایی رو بررسی می کنیم که فقط با استفاده از کدهای وی بی ای می شود آنها را در آفیس انجام داد .
9 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
خوب بود بیشتر از این جهت که همه چیزها رو مرحله به مرحله پیش می برید .
ممنون از شما
کاش برای قسمت اخر آموزش یک ویدئو هم میذاشیتید چون این قسمت مهمترین بخش هستش
سلام بزودی این ویدئو توی سایت قرار می گیرد
روش سختی بود
متاسفانه خطا میده و نتونستم، کاش فیلم میذاشتید یا یک کد کاملا اماده میذاشتین
در اولین فرصت هم ویدئو و هم نمونه فایل قرار داده می شود
ما منتظر ساخت ویدئو هستیم همچنان… ممنون از شما
اگر تهیه شد لطفا لینکش رو بذارید